Prior art includes two broad technologies for implementing and manipulating knowledge based systems on machines: expert systems and artificial neural networks. The basic concept underlying an expert system is that a collection of domain specific IF-THEN rules are used to manipulate input data to derive a solution. In general, one or more human experts are consulted about how to solve problems in the target domain, e.g., chemical process control [Chester, Lamb, and Dhurjati, "Rule-Based Computer Alarm Analysis in Chemical Process Plants," Proceedings of the Seventh Annual Conference on Computer Technology, March, 1984, pp. 158-163] or diagnosis of cardiovascular disease [Kaihara, Koyama, Minamikawa, and Yasaka, "A Rule-Based Physicians' Consultation System for Cardiovascular Disease," Proceedings of the International Conference on Cybernetics and Society, November, 1978, pp. 85-88]. Through these consultations, general rules about how the data associated with a particular problem should be manipulated are developed. These rules are eventually programmed into the machine so that, given a set of input data, the formulated rules can be applied to the data to yield a solution. As this discussion indicates, expert systems are generally associated with top-down knowledge engineering or deductive reasoning. In other words, to implement an expert system one must first have some previous information indicating how a problem should be solved or a model describing the problem's underlying process in terms of a set of rules.
In contrast to expert systems, artificial neural networks are generally associated with bottom-up or inductive learning. To construct a artificial neural network, one first constructs a network of "neurons" (processing elements or nodes) that receive input and produce an output in response to the input. In most artificial neural networks, the neurons assign differing weights to each input, combining the weighted inputs to produce an output. Once the basic artificial neural network is constructed, it is trained by providing it data representative of known problems and their known solutions. During this initial presentation process, the network repeatedly adjusts its weight values in accordance with predetermined feedback rules so that eventually it can produce an acceptable output for each set of known inputs. In this sense, the artificial neural network "learns" from the set of known problems and solutions.